#ifndef NETCFGENGINE_H
#define NETCFGENGINE_H

#include <Plasma/DataEngine>


class NetcfgEnginePrivate;

/**
 * @brief Data engine providing the @p netcfg network profiles.
 */

class NetcfgEngine : public Plasma::DataEngine
{
    Q_OBJECT

    public:

        NetcfgEngine(QObject* parent, const QVariantList &args);

        virtual void init();

        virtual QStringList sources() const;

    protected:

        bool sourceRequestEvent(const QString &source);

        bool updateSourceEvent(const QString &source);

    private:
        
        friend class NetcfgEnginePrivate;

        NetcfgEnginePrivate *d;

    private Q_SLOTS:

        void slotProfilesDirDirty();

        void slotStateDirDirty(); 

    Q_SIGNALS:

        void profilesChanged();

        void stateChanged();

};

K_EXPORT_PLASMA_DATAENGINE(netcfg, NetcfgEngine)

#endif
